home *** CD-ROM | disk | FTP | other *** search
-
-
-
- ppppoooollllyyyyssssmmmm((((3333GGGG)))) ppppoooollllyyyyssssmmmm((((3333GGGG))))
-
-
-
- NNNNAAAAMMMMEEEE
- ppppoooollllyyyyssssmmmm - specify antialiasing of polygons
-
- FFFFOOOORRRRTTTTRRRRAAAANNNN SSSSPPPPEEEECCCCIIIIFFFFIIIICCCCAAAATTTTIIIIOOOONNNN
- ssssuuuubbbbrrrroooouuuuttttiiiinnnneeee ppppoooollllyyyyssssmmmm((((mmmmooooddddeeee))))
- iiiinnnntttteeeeggggeeeerrrr****4444 mmmmooooddddeeee
-
- PPPPAAAARRRRAAAAMMMMEEEETTTTEEEERRRRSSSS
- _m_o_d_e Expects one of the symbolic constants:
-
- PPPPYYYYSSSSMMMMOOOOFFFF: do not antialias polygons. (default)
-
- PPPPYYYYSSSSMMMMOOOONNNN: compute coverage values for all perimeter polygon pixels
- in such a way as to not change the size of the polygon.
-
- PPPPYYYYSSSSMMMMSSSSHHHH: Compute coverage values for all perimeter polygon pixels
- in such a way as to shrink the polygon slightly.
-
- DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
- ppppoooollllyyyyssssmmmm specifies one-pass antialiasing of polygons. Unlike ppppnnnnttttssssmmmmoooo and
- lllliiiinnnneeeessssmmmm, it is available only in RGB mode. Also, unlike ppppnnnnttttssssmmmmoooo and
- lllliiiinnnneeeessssmmmm, its use in complex scenes requires attention to primitive drawing
- order if acceptable results are to be achieved. Thus ppppoooollllyyyyssssmmmm use is
- somewhat more complex than that of ppppnnnnttttssssmmmmoooo and lllliiiinnnneeeessssmmmm.
-
- Like points and lines, polygons are antialiased by computing a coverage
- value for each scan-converted pixel, and using this coverage value to
- scale pixel alpha. Thus, for RGB antialiased polygons to draw correctly,
- bbbblllleeeennnnddddffff must be set to merge new pixel color components with the previous
- components using the incoming alpha. In the simplistic case of adding a
- single, antialiased polygon to a previously rendered scene, the same
- bbbblllleeeennnnddddffff as is typically used for point and line antialiasing can be used:
-
- bbbblllleeeennnnddddffff((((BBBBFFFFSSSSAAAA,,,, BBBBFFFFMMMMSSSSAAAA)))).
-
- Pixels in the interior of the polygon will have coverage assigned to 1.0,
- and will therefore replace their framebuffer counterparts. Pixels on the
- perimeter of the polygon are blended into the framebuffer in proportion
- to their computed coverage.
-
- A more typical case, however, is that of antialiasing the polygons that
- comprise the surface of a solid object. Here the standard bbbblllleeeennnnddddffff will
- result in 'leakage' of color between adjacent polygons. For example, if
- the first polygon drawn covers a sample pixel 40%, and the second
- (adjacent) polygon covers the pixel 60%, the net coverage of %100 still
- leaves %24 background color in the pixel.
-
- If the solid object is to be correctly antialiased, with no leakage
- through interior edges, and with proper silhouettes, the following rules
- must be followed:
-
-
-
-
-
- PPPPaaaaggggeeee 1111
-
-
-
-
-
-
- ppppoooollllyyyyssssmmmm((((3333GGGG)))) ppppoooollllyyyyssssmmmm((((3333GGGG))))
-
-
-
- 1. Polygons must be drawn in view order from nearest to farthest. (Not
- farthest to nearest as is done with transparency.)
-
- 2. Polygons that face away from the viewer must not be drawn. (Use
- backfa(.TRUE.).)
-
- 3. The special blendf(BFMINS, BFONE) must be used to blend polygons
- into the framebuffer.
-
- 4. Polysmooth mode PPPPYYYYSSSSMMMMOOOONNNN must be used.
-
- The special polysmooth mode PPPPYYYYSSSSMMMMSSSSHHHH specifies a coverage algorithm that
- includes only pixels that would have been scan-converted had the mode
- been PPPPYYYYSSSSMMMMOOOOFFFF. (PPPPYYYYSSSSMMMMOOOONNNN includes pixels that are outside that range of
- those point-sampled by the PPPPYYYYSSSSMMMMOOOOFFFF algorithm.) PPPPYYYYSSSSMMMMSSSSHHHH necessarily leaks
- background color between adjacent polygons, but does this in a way that
- resembles antialiased lines. Thus, PPPPYYYYSSSSMMMMSSSSHHHH can be used in conjunction
- with blendf(BFSA, BFZERO),,,, aaaannnndddd wwwwiiiitttthhhh nnnnoooo ssssoooorrrrttttiiiinnnngggg ooooffff ppppoooollllyyyyggggoooonnnnssss ((((uuuusssseeee tttthhhheeee zzzz----
- bbbbuuuuffffffffeeeerrrr)))),,,, ttttoooo ggggeeeennnneeeerrrraaaatttteeee ssssoooolllliiiidddd iiiimmmmaaaaggggeeeessss tttteeeesssssssseeeellllaaaatttteeeedddd wwwwiiiitttthhhh bbbbllllaaaacccckkkk,,,, aaaannnnttttiiiiaaaalllliiiiaaaasssseeeedddd
- lllliiiinnnneeeessss....
-
- SSSSEEEEEEEE AAAALLLLSSSSOOOO
- linesm, pntsmo, blendf, subpix
-
- NNNNOOOOTTTTEEEESSSS
- IRIS-4D G, GT, and GTX models, as well as the Personal Iris, Iris Entry,
- Indy, XL, XS, XS24, XZ, Elan, and Extreme systems do not support ppppoooollllyyyyssssmmmm.
- Use ggggeeeettttggggddddeeee to determine whether ppppoooollllyyyyssssmmmm is supported.
-
- ssssuuuubbbbppppiiiixxxx mode should always be enabled while ppppoooollllyyyyssssmmmm is used.
-
- On the IRIS-4D RealityEngine pixels that are outside of the perimeter of
- the polygon may be drawn. However, their coverage values will be 0.0.
-
- BBBBUUUUGGGGSSSS
- IRIS-4D VGX models reveal their decomposition of 4+ sided polygons into
- triangles when PPPPYYYYSSSSMMMMSSSSHHHH is selected. This behavior is not intended, and
- may not be duplicated by future VGX software releases, or by future
- models.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- PPPPaaaaggggeeee 2222
-
-
-
-